// utils/encryptRSA.ts
import { isApp, isMp } from './platformUtils'

// App 平台原生加密（uts 暴露）
let appEncrypt : ((text : string) => string) | null = null
if (isApp) {
	// @ts-ignore：App 下才能解析
	appEncrypt = require('@/utils/RSA/index.uts').encrypt
}

// 小程序平台纯 JS 加密
import { encryptMpRSA } from './rsaMp'

/**
 * 统一加密函数，支持 App、小程序
 * @param text 要加密的明文
 */
export function encryptRSA(text : string) : string {
	if (!text) throw new Error('加密内容不能为空')

	if (isApp && appEncrypt) {
		return appEncrypt(text)
	}

	if (isMp) {
		return encryptMpRSA(text)
	}

	throw new Error('当前平台不支持 RSA 加密')
}